//
// Created by Administrator on 2022/8/3.
//

#ifndef ADDA5655_TYPES_H
#define ADDA5655_TYPES_H

#include <stdio.h>
#include <stdint.h>

#ifndef THandler
typedef void * Handler;
#define THandler Handler;
#endif
#ifndef THandlerConn
typedef void * HandlerConn;
#define THandlerConn HandlerConn;
#endif

#ifndef TS8
typedef int8_t S8;
#define TS8 S8;
#endif

#ifndef  TU8
typedef uint8_t U8;
#define TU8 U8;
#endif

#ifndef TS16
typedef int16_t S16;
#define TS16 S16;
#endif

#ifndef TU16
typedef uint16_t U16;
#define TU16 U16;
#endif

#ifndef TS32
typedef int32_t S32;
#define TS32 S32;
#endif

#ifndef TU32
typedef uint32_t U32;
#define TU32 U32;
#endif

#ifndef TS64
typedef int64_t S64;
#define TS64 S64;
#endif

#ifndef TU64
typedef uint64_t U64;
#define TU64 U64;
#endif

#ifndef TF32
typedef uint64_t U64;
#define TU64 U64;
#endif

#ifndef TU64
typedef uint64_t U64;
#define TU64 U64;
#endif

#ifndef TF32
typedef float F32;
#define TF32 F32;
#endif

#ifndef TF64
typedef double F64;
#define TF64 F64;
#endif


enum { T_UNKNOW, T_U8, T_S8, T_U16, T_S16, T_U32, T_S32, T_U64, T_S64, T_FLOAT, T_DOUBLE};

#ifndef _CS_RAW_
int cs_type_size(int type);
const char * cs_type_2_str(int type);
int cs_str_2_type(const char *str);
#endif

#endif //ADDA5655_TYPES_H